Users commonly employ computerized databases, or the like to store large amounts of data for easy access and manipulation. In a traditional computer system, there is a single copy of the data stored typically on a single server. By maintaining a single, centralized storage, such a system avoids inconsistencies that might otherwise occur with more than one copy of the data. Nevertheless, the centralized storage approach has several drawbacks. First, since only one copy of the data exists, if the data becomes corrupted or inaccessible, the entire system becomes unavailable. Second, with only one copy of data available for read purposes, the system may appear slow and time-consuming, especially to multiple users.
Consequently, many of today's organizations, protect against disruptions caused by failures of a single server, by allowing additional copies or “replicas” of the data to be stored on multiple servers. That is, a copy of each data item stored on one of the system's servers may also exist on another server, sometimes called a replicate server. Such replicate servers may be collocated, or distributed across multiple locations. By replicating the data across multiple instances of servers, a certain degree of fault-tolerance may be obtained. Furthermore, by having an available replica of the data available, the response time of certain transactions may be improved.
Although replicated systems provide the above advantages over non-replicated systems, there are nonetheless inherent costs associated with the replication of data. To replicate data many of today's architectures require significant overhead in applications that manage the data itself. Furthermore, each application may need to have substantially the same configuration as every other data application to enable replication between them, resulting in an additional load on each application. Thus, previous solutions may be unacceptable in complex, network-level, high availability systems. Therefore, it is with respect to these considerations and others that the present invention has been made.